/*
 * IVCRTimecode.java
 *
 * Created on January 5, 2006, 1:29 PM
 *
 * To change this template, choose Tools | Template Manager
 * and open the template in the editor.
 */

package org.mbari.vcr;

import org.mbari.util.IObservable;
import org.mbari.movie.Timecode;

/**
 * @author  brian
 */
public interface IVCRTimecode extends IObservable {
    /**
     * @return The frame number of the current timecode
     */
    int getFrame();
    
    /**
     * @return The hour value of the current timecode
     */
    int getHour();
    
    /**
     * @return The minute value of the current timecode
     */
    int getMinute();
    
    /**
     * @return The second value of the current timecode
     */
    int getSecond();
    
    /**
     * @return  the timecode as provided by the VCR. The format of each byte is the  upper 4-bits represent the 10's value while the lower 4-bits represent the  1's value. The units of each byte are as follows: <br> byte[0] = frame [4-bit decimal][4-bit ones]<br>  byte[1] = seconds<br> byte[2] = minutes<br> byte[3] = hours<br>
     * @uml.property  name="timecode"
     * @uml.associationEnd
     */
    //byte[] getTimecode();
    
    Timecode getTimecode();
    
}
